package org.springblade.modules.ehb.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.springblade.modules.policy.entity.PolicyDrawMaterial;
import org.springblade.modules.policy.entity.PolicyDrawProcess;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
public class EhbPolicyDrawVO {

	@JsonSerialize(using = ToStringSerializer.class)
	private Long id;
	/**
	 * 办结时限
	 */
	private Integer completionTime;
	/**
	 * 主管部门
	 */
	private String implemention;
	/**
	 * 是否免审即享
	 */
	private Integer isApply;
	/**
	 * 事项名称
	 */
	private String name;
	/**
	 * 使用地区id
	 */
	private String suitLevel;
	/**
	 * 使用地区
	 */
	private String suitLevelName;
	/**
	 * 创建用户部门id
	 */
	private Long createUserDept;
	/**
	 * 创建用户部门名称
	 */
	private String createUserDeptName;
	/**
	 * 申报条件
	 */
	private String acceptCondition;
	/**
	 * 申报时间截至日期
	 */
	private String declareEnd;
	/**
	 * 申报时间开始日期
	 */
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd"
	)
	private Date declareStart;
	/**
	 * 企业规模
	 */
	private String enterpriseScale;
	/**
	 * 企业特色
	 */
	private String enterpriseSpecial;
	/**
	 * 行业分类
	 */
	private String industryType;
	/**
	 * 行业性质
	 */
	private String enterpriseNature;
	/**
	 * 优惠内容
	 */
	private String subsidyStandards;
	/**
	 * 补贴费用上区间
	 */
	private Integer subsidyCostMax;
	/**
	 * 补贴费用下区间
	 */
	private Integer subsidyCostMin;
	/**
	 * 咨询电话
	 */
	private String telephone;
	/**
	 * 来源信息批次
	 */
	private String sourceBatch;
	/**
	 * 来源信息条目
	 */
	private String sourceEntry;
	/**
	 * 事项类型
	 */
	private Integer matterType;
	/**
	 * 申报时效类型
	 */
	private Integer declareType;
	/**
	 * 发布状态
	 */
	private Integer status;
	/**
	 * 政策ids
	 */
	private String policys;
	/**
	 * 修改人部门id
	 */
	private Long updateUserDept;
	/**
	 * 修改人部门名称
	 */
	private String updateUserDeptName;

	private String lcItemId;

	private List<String> enterpriseNatureList;
	private List<String> enterpriseScaleList;
	private List<String> enterpriseSpecialList;
	private List<String> industryTypeList;

	private List<EhbRelatedPolicyVO> matMatterPolicyList;
	private List<PolicyDrawMaterial> matterMaterialList;
	private List<PolicyDrawProcess> matterProcessList;
}
